hsweb的系列学习之FreeMarker模板引擎与动态页面静态化与后台结合的一些处理逻辑 二
FreeMarker基础补强请参考:https://github.com/muyinchen/migo-freemaker
首先是对登录逻辑的处理:

图1
通过一个ajax来访问,返回的数据信息表示成功就会访问到图17的逻辑

图2
图3是对图2的登录逻辑的展示

图3
登录之后跳转到index.ftl,在此请看红色标记:

图4
通过macro来自定义一个指令api,定义内容见图5

图5
通过上述的定义逻辑会访问到UserModuleController.class里的相应处理逻辑,如下图所示:

图6
index页面js处理逻辑
对返回的数据进行展示:

图7
对onNodeClick事件的处理:
在此举个小例子:
1 | <ul id="tree1" class="mini-tree" url="../data/tree.txt" style="width:300px;padding:5px;" |

图8
乱入一张,防止有些小伙伴迷糊,通过配置文件查看可以得知,返回的地址的后缀名统一为.ftl

图9
对图8中Request.BASH_PATH的解读
同样,先通过macro来自定义一个指令basePath,注意需要后端传入的模型视图(ModelAndView )中的参数名称为absPath,然后看图10的
箭头所指:

图10
图11的逻辑就是先通过模型视图找到admin下的login.ftl,填完相应信息再提交给图3的逻辑处理,因为就近原则的关系,hsdemo已经在index.ftl有此逻辑了,可以在自己的项目中调用此模板来处理的

图11

图12
通过图12可以看到在此对地址进行转换
对其他访问逻辑的处理

图13
以点击表单管理为例:

图14
结合图15:
第一个访问连接http://127.0.0.1:8080/admin/form/list.html?_t=769104&_winid=w7605,因为已经经过处理并放入到模型视图(ModelAndView )中,所以会直接访问到下图的list.ftl

图15
从图15的红色标记可以看出,访问的链接地址将要跳转到:"http://127.0.0.1:8080/form/~latest",最后,结合图14,访问相应逻辑
最后再补两张图的,方便理解:

图16

图17